Telegram Group & Telegram Channel
🔎 Команда дня: быстрый рецепт профилирования с cProfile и pstats

🔍 Профилирование — это способ найти узкие места в производительности кода.

Вы можете точно узнать, какие функции тормозят выполнение, где тратится больше всего времени, и какие вызовы стоит оптимизировать.

Python поставляется с двумя встроенными профайлерами:
🔴 cProfile — написан на C, работает быстрее и точнее,
🔴 profile — на Python, обычно медленнее.

✔️ Обычно выбираем cProfile для измерения производительности.

Как профилировать скрипт


1️⃣ Запустите скрипт с профилированием и сохраните результат в файл:
python -m cProfile -o profile my_script.py


2️⃣ Для анализа результатов используйте модуль pstats:
python -m pstats profile <<< $'sort cumtime\nstats 1000' | less


🔴 sort cumtime — сортируем функции по кумулятивному времени (время выполнения функции плюс все вызовы внутри неё)
🔴 stats 1000 — показываем первые 1000 строк статистики
🔴 less — удобный просмотр с прокруткой (нажмите q для выхода)

Полезные опции

✔️ Профилируйте модули через -m:
python -m cProfile -o profile -m module_name [args]


✔️ Для сравнения результатов до и после оптимизации используйте разные имена файлов:
python -m cProfile -o before.profile script.py
python -m cProfile -o after.profile script.py


Можно менять сортировку по другим метрикам:

🔴 time — время выполнения только самой функции
🔴 calls — количество вызовов функции (может помочь найти «горячие» участки)

Библиотека питониста #буст
Please open Telegram to view this post
VIEW IN TELEGRAM



tg-me.com/pyproglib/6801
Create:
Last Update:

🔎 Команда дня: быстрый рецепт профилирования с cProfile и pstats

🔍 Профилирование — это способ найти узкие места в производительности кода.

Вы можете точно узнать, какие функции тормозят выполнение, где тратится больше всего времени, и какие вызовы стоит оптимизировать.

Python поставляется с двумя встроенными профайлерами:
🔴 cProfile — написан на C, работает быстрее и точнее,
🔴 profile — на Python, обычно медленнее.

✔️ Обычно выбираем cProfile для измерения производительности.

Как профилировать скрипт


1️⃣ Запустите скрипт с профилированием и сохраните результат в файл:

python -m cProfile -o profile my_script.py


2️⃣ Для анализа результатов используйте модуль pstats:
python -m pstats profile <<< $'sort cumtime\nstats 1000' | less


🔴 sort cumtime — сортируем функции по кумулятивному времени (время выполнения функции плюс все вызовы внутри неё)
🔴 stats 1000 — показываем первые 1000 строк статистики
🔴 less — удобный просмотр с прокруткой (нажмите q для выхода)

Полезные опции

✔️ Профилируйте модули через -m:
python -m cProfile -o profile -m module_name [args]


✔️ Для сравнения результатов до и после оптимизации используйте разные имена файлов:
python -m cProfile -o before.profile script.py
python -m cProfile -o after.profile script.py


Можно менять сортировку по другим метрикам:

🔴 time — время выполнения только самой функции
🔴 calls — количество вызовов функции (может помочь найти «горячие» участки)

Библиотека питониста #буст

BY Библиотека питониста | Python, Django, Flask


Warning: Undefined variable $i in /var/www/tg-me/post.php on line 283

Share with your friend now:
tg-me.com/pyproglib/6801

View MORE
Open in Telegram


Библиотека питониста | Python Django Flask Telegram | DID YOU KNOW?

Date: |

To pay the bills, Mr. Durov is issuing investors $1 billion to $1.5 billion of company debt, with the promise of discounted equity if the company eventually goes public, the people briefed on the plans said. He has also announced plans to start selling ads in public Telegram channels as soon as later this year, as well as offering other premium services for businesses and users.

Telegram is riding high, adding tens of million of users this year. Now the bill is coming due.Telegram is one of the few significant social-media challengers to Facebook Inc., FB -1.90% on a trajectory toward one billion users active each month by the end of 2022, up from roughly 550 million today.

Библиотека питониста | Python Django Flask from it


Telegram Библиотека питониста | Python, Django, Flask
FROM USA